package com.leo.foodmaster.admin.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.leo.foodmaster.admin.system.entity.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.leo.foodmaster.commons.entity.Result;

/**
 * <p>
 * 角色表 服务类
 * </p>
 *
 * @author Leo
 * @since 2021-06-18
 */
public interface IRoleService extends IService<Role> {

    /**
     * 分页条件查询角色列表
     * @param page 分页参数
     * @param name 角色名称
     * @param organId 公司Id
     * @param status 状态
     * @param beginTime 开始时间
     * @param endTime 结束时间
     * @return IPage<Role>
     */
    IPage<Role> getRolePageList(Page<Role> page, String name, Long organId, String status,
                                String beginTime, String endTime);

    /**
     * 新增角色
     * @param role 角色信息
     * @return Result<Object>
     */
    Result<Object> addRole(Role role);

    /**
     * 修改角色
     * @param role 角色信息
     * @return Result<Object>
     */
    Result<Object> updateRole(Role role);

    /**
     * 删除角色
     * @param roleIds 角色Ids
     * @return Result<Object>
     */
    Result<Object> deleteRole(String roleIds);

    /**
     * 修改角色状态
     * @param role 角色状态信息
     * @return Result<Object>
     */
    Result<Object> updateStatus(Role role);
}
